/*
Copyright 2022 CE

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
 */
package p.ithorns.framework.common.utils;

/**
 * BeanConverter
 *
 * @author ithorns [2021/12/31 11:11]
 * @version 1.0
 */
@FunctionalInterface
public interface BeanConverter {

    /**
     * @param source       源属性
     * @param targetCalss  目标属性的class
     * @param targetSetter 目标属性的setter方法的方法名
     * @param target       目标属性
     * @return 设置目标的属性
     */
    Object convert(Object source, Class targetCalss, Object targetSetter, Object target);
}
